import 'dart:io';

import 'package:eleapp/res/strings.dart';
import 'package:get/get.dart';

class UserController extends GetxController {
  // 定义一个存储用户信息的变量 getx响应式
  RxInt userId = 0.obs;
  RxString userAccount = ''.obs;
  RxMap user = {}.obs;
  RxBool islogin = false.obs;
}

class SystemController extends GetxController {
  // 定义一个存储主题名称的变量 getx响应式
  RxString themeName = StringStyles.followerSystemTheme.tr.obs;

  updateThemeName(int index) {
    switch (index) {
      case 0:
        themeName.value = StringStyles.followerSystemTheme.tr;
        break;
      case 1:
        themeName.value = StringStyles.lightTheme.tr;
        break;
      case 2:
        themeName.value = StringStyles.darkTheme.tr;
        break;
      default:
        themeName.value = StringStyles.followerSystemTheme.tr;
        break;
    }
  }
}

// *****定义提示词状态管理控制器*****
// 弹出框是调用方法后返回的结构 后续使用setState变更数据无法更新已生成的结构页面
// 必须使用状态管理才能实现数据与页面同步
class TipController extends GetxController {
  // 定义一个存储用户信息的变量 getx响应式
  RxString oldpwdText = ''.obs; // 旧密码框底下提示词
  RxString tipText = ''.obs; // 确认密码框下提示词
  Rx<File>? imageUrl = File('').obs; // 更换头像的Url
  Rx<bool> hasAvatar = false.obs;
}

class IconController extends GetxController {
  RxBool loginpwdShow = false.obs; // 确认密码框图标
  RxBool oldpwdShow = false.obs; // 确认密码框图标
  RxBool newpwdShow = false.obs; // 确认密码框图标
  RxBool confirmpwdShow = false.obs; // 确认密码框图标
}
